﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Wijmo.Master" AutoEventWireup="true" CodeBehind="CustomEditing.aspx.cs" Inherits="ControlExplorer.C1GridView.Editing" %>

<%@ Register Assembly="C1.Web.Wijmo.Controls.3" Namespace="C1.Web.Wijmo.Controls.C1GridView" TagPrefix="wijmo" %>
<%@ Register Assembly="C1.Web.Wijmo.Controls.3" Namespace="C1.Web.Wijmo.Controls.C1Input" TagPrefix="wijmo" %>
<%@ Register Assembly="C1.Web.Wijmo.Controls.3" Namespace="C1.Web.Wijmo.Controls.C1Calendar" TagPrefix="wijmo" %>

<asp:Content ID="Content1" ContentPlaceHolderID="Head" runat="server">
	<style type="text/css">
		legend
		{
			background-color: transparent;
		}
	</style>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
	<asp:ScriptManager ID="ScriptManager1" runat="server">
	</asp:ScriptManager>

	<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
		<ContentTemplate>
				<wijmo:C1GridView ID="C1GridView1" runat="server" AllowPaging="True" PageSize="10"
					DataKeyNames="OrderID" AutoGenerateColumns="False"
					OnPageIndexChanging="C1GridView1_PageIndexChanging"
					OnRowCancelingEdit="C1GridView1_RowCancelingEdit" OnRowEditing="C1GridView1_RowEditing"
					OnRowUpdating="C1GridView1_RowUpdating" OnRowDeleting="C1GridView1_RowDeleting">
					<PagerSettings Mode="NextPreviousFirstLast" />
					<Columns>
						<wijmo:C1TemplateField>
							<ItemStyle Width="15px" />
						</wijmo:C1TemplateField>
						<wijmo:C1BoundField DataField="OrderID" HeaderText="ID" ReadOnly="true" DataFormatString="d" />
					   
						<wijmo:C1TemplateField HeaderText="发货源">
							<UpdateBindings>
								<wijmo:C1GridViewUpdateBinding ControlProperty="tbShipName.Text" UpdateField="ShipName" />
							</UpdateBindings>
							<EditItemTemplate>
								<asp:TextBox ID="tbShipName" runat="server" Text='<%# Bind("ShipName") %>' BorderStyle="None" Width="100%" />
							</EditItemTemplate>
							<ItemTemplate>
								<%# HtmlEncode(Eval("ShipName")) %>
							</ItemTemplate>
						</wijmo:C1TemplateField>
						 
						<wijmo:C1TemplateField HeaderText="发货城市">
							<UpdateBindings>
								<wijmo:C1GridViewUpdateBinding ControlProperty="tbShipCity.Text" UpdateField="ShipCity" />
							</UpdateBindings>
							<EditItemTemplate>
								<asp:TextBox ID="tbShipCity" runat="server" Text='<%# Bind("ShipCity") %>' BorderStyle="None" Width="100%" />
							</EditItemTemplate>
							<ItemTemplate>
								<%# HtmlEncode(Eval("ShipCity")) %>
							</ItemTemplate>
						</wijmo:C1TemplateField>
						<wijmo:C1CommandField ShowEditButton="True" ShowDeleteButton="false" />
					</Columns>
				</wijmo:C1GridView>
	   
		</ContentTemplate>
	</asp:UpdatePanel>
</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="Description" runat="server">
	<p>
	  	  <strong>C1GridView</strong>支持服务器编辑。 此示例演示如何使用自定义数据绑定来将<strong>C1GridView</strong>绑定
	  到会话对象中存储的数据集,如何使用模板字段来实现自定义编辑，以及如何使用 <strong>UpdateBindings</strong>
	 绑定模板字段的集合，当客户自定义数据绑定时使用<strong>Update</strong>方法自动更新数据集 。
	</p>

<p>
	 服务器端在<strong> C1GridView</strong>上编辑是基于行的。每一时刻只有一个数据行的确定的<strong> EditIndex</strong>属性是在编辑模式。
	</p>

	
	<p>
	   此示例中使用了以下技术：
	</p>
	<ul>
	  <li><strong>模板字段</strong> -实现自定义编辑器。ItemTemplate和HeaderTemplate中的属性确定显示单元格的内容和编辑目的。</li>
	  <li><strong>更新绑定</strong> - 链接编辑的数据字段的模板列。当自定义数据绑定自动使用更新数据集时，允许使用的<strong>Update（）</strong>方法。</li>
	  <li><strong>C1CommandField</strong> 列属性<strong> ShowEditButton</strong>和<strong> ShowDeleteButton</strong>。
		增加了编辑，取消，更新和删除按钮，最终用户点击其中的任意衣柜来编辑数据的每个数据行。
	  </li>
	</ul>

	<p>
	   在此示例使用下面的事件处理程序：
	</p>


	<ul>
		<li><strong>RowEditing</strong> - 当某行编辑按钮被点击时，将 <strong>C1GridView</strong>的行放入编辑模式</li>
		<li><strong>RowCancelingEdit</strong> - 取消编辑时，该行的“取消”按钮被点击。</li>
		<li><strong>RowUpdating</strong> - 办理变更，更新的数据集和编辑的行，当该行的“更新”按钮被点击时，进入正常模式。</li>
		<li><strong>RowDeleting</strong> - 删除删除按钮被点击的行.</li>
	</ul>
</asp:Content>

<asp:Content ID="Content4" ContentPlaceHolderID="ControlOptions" runat="server">
	<asp:UpdatePanel ID="UpdatePanel2" runat="server">
		<ContentTemplate>
			<fieldset>
				<legend>编辑列设置</legend>
				<div>
					<div>
						<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" Text="显示编辑按钮"
							Checked="true" OnCheckedChanged="CheckBox1_CheckedChanged" />
					</div>
					<div>
						<asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="true" Text="显示删除按钮"
							Checked="false" OnCheckedChanged="CheckBox1_CheckedChanged" />
					</div>
				</div>
			</fieldset>
		</ContentTemplate>
	</asp:UpdatePanel>

</asp:Content>
